package service;

import pojo.Admin;
import pojo.CheckInRecord;
import pojo.CheckOutRecord;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;

/*
    Service层接口
 */
public interface CheckInRecordService {
    //查询所有入住信息
    public abstract ArrayList<CheckInRecord> findAll();

    //查询总人数
    public abstract int findTotal();

    //查询时间段内人数
    public abstract int findDate(Date begin, Date end);

    public abstract BigDecimal findActualPayment();

    public abstract BigDecimal findNoPay();

    //查询时间段内应缴金额
    public abstract BigDecimal findPaymentInTime(Date begin, Date end);

    //查询时间段内实缴金额
    public abstract BigDecimal findActualPaymentInTime(Date begin, Date end);

    //查询时间段内未缴金额
    public abstract BigDecimal findNoPayInTime(Date begin, Date end);

    //查询时间段内押金
    public abstract BigDecimal findCashInTime(Date begin, Date end);

    //查询欠费信息
    public abstract ArrayList<CheckInRecord> findArrearage();

    //查询拿钥匙信息
    public abstract ArrayList<CheckInRecord> findIsTaken();

    //查询没有拿钥匙信息
    public abstract ArrayList<CheckInRecord> findNoTaken();

    //查询所有入住信息
    public abstract ArrayList<CheckInRecord> findByRoomId(Integer roomId);

    //条件查询，返回入住对象
    public abstract CheckInRecord findById(Integer check_in_id);

    //条件查询，返回入住对象
    public abstract CheckInRecord findByStuId(Integer stuId);

    //条件查询，返回入住对象
    public abstract CheckInRecord findByStuName(String stuName);

    //新增入住信息
    public abstract int insert(CheckInRecord check_in_id);

    //修改入住信息
    public abstract int update(CheckInRecord check_in_id);

    //删除入住信息
    public abstract int delete(CheckInRecord check_in_id);
}
